This invention relates to digital computers, and more particularly to the overall architecture of a digital computer. By overall architecture is herein meant the organization of the various registers and memories which a computer accesses in order to perform its instruction set.
In the prior art, the computer's instructions were typically stored in a digital memory, and the memory was sequentially accessed by a register called a program counter. Additional hardware such as an adder, etc., was provided to execute an instructions once it was fetched from the memory. But the memory and program counter were all the hardware that was provided for storing and accessing the instructions.
Such a computer architecture worked fine for relatively small programs, such as those which could be written by a single person, or by only a few persons working closely together. But some tasks simply are too large to be programmed that way. These more complex tasks require the programming efforts of many persons working independently of one another.
For example, a digital computer may have an assembly level command set which performs only fixed point binary architecture. Yet it may be desired to use this computer to also perform floating point arithmetic, or to calculate transcendental functions, or to perform other complex operations. In such a case, it generally takes several persons to program the floating point routines plus several additional persons to program the transcendental functions. Each routine or function requires a separate data processing procedure program.
A problem then arises as to how to link all of the independently written programs together. Accordingly, it is a primary object of the invention to provide a new computer architecture that is especially adapted to linking multiple data processing procedure programs that are independently written by a plurality of persons.